/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Soligee.decorador;

import Soligee.controller.bo.PessoaBO;
import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeBuscarImplements;
import Soligee.model.vo.cadastros.PessoaFisicaVO;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;

/**
 *
 * @author Alessandro Henrique
 */
public class ValidaCpf {

   public void validateCalculoCpf(FacesContext context, UIComponent component, Object value) throws ValidatorException {
      FacesMessage msg = new FacesMessage("Erro");
      if (!new PessoaBO().validarCPF(value.toString())) {
         msg.setSummary("CPF Inválido");
         throw new ValidatorException(msg);
      }
   }

   public void validateCampoUnico(FacesContext context, UIComponent component, Object value) {
      FacesMessage msg = new FacesMessage("Erro");
      if (new PessoaBO().validarCPF(value.toString())) {
         if (!new SessionFacadeBuscarImplements().buscaPorCodigo(PessoaFisicaVO.class, "cpf", value.toString()).isEmpty()) {
            msg.setSummary("CPF Cadastrado");
            throw new ValidatorException(msg);
         }
      } else {
         msg.setSummary("CPF Inválido");
         throw new ValidatorException(msg);
      }
   }
}
